﻿using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;

namespace Xms.Abp.Features;

public abstract class FeaturesValueProvider : IFeaturesValueProvider, ITransientDependency
{
    public abstract string Name { get; }

    protected IFeaturesStore FeaturesStore { get; }

    protected FeaturesValueProvider(IFeaturesStore featuresStore)
    {
        FeaturesStore = featuresStore;
    }

    public abstract Task<string> GetOrNullAsync(FeatureValueDefinition feature);
}